﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PDS_ANDU.Entidades
{
    /// <summary>
    /// Encapsula los datos de un perfil.
    /// </summary>
    public class Perfil
    {
        ushort numero;              // número de perfil
        string nombre;              // nombre del perfil
        Suscriptor suscriptor;      // cuenta de perfil asociada al perfil
        List<Categoria> categorias; // lista de categorias asociadas al perfil

        /// <summary>
        /// Constructor de clase
        /// </summary>
        /// <param name="id"></param>
        /// <param name="nomb"></param>
        /// <param name="susc"></param>
        public Perfil(ushort id, string nomb, Suscriptor susc)
        {
            numero = id;
            nombre = nomb;
            suscriptor = susc;
        } // fin del constructor

        /// <summary>
        /// Constructor de clase
        /// </summary>
        /// <param name="nomb"></param>
        /// <param name="susc"></param>
        /// <param name="categorias"></param>
        public Perfil(ushort id, string nomb, Suscriptor susc, List<Categoria> categorias)
        {
            numero = id;
            nombre = nomb;
            suscriptor = susc;
            this.categorias = categorias;
        } // fin del constructor

        /// <summary>
        /// Constructor de clase
        /// </summary>
        /// <param name="nomb"></param>
        /// <param name="susc"></param>
        /// <param name="categorias"></param>
        /// <param name="todas"></param>
        public Perfil(string nomb, Suscriptor susc, List<Categoria> categorias)
        {
            nombre = nomb;
            suscriptor = susc;
            this.categorias = categorias;
        } // fin del constructor

        // Propiedad del atributo numero
        public ushort Numero
        {
            get
            {
                return numero;
            }
            set
            {
                numero = value;
            }
        } // fin de propiedad Numero


        // Propiedad del atributo nombre
        public string Nombre
        {
            get
            {
                return nombre;
            }
            set
            {
                nombre = value;
            }
        } // fin de propiedad Nombre

        // Propiedad del atributo sucriptor
        public Suscriptor Suscriptor
        {
            get
            {
                return suscriptor;
            }
            set
            {
                suscriptor = value;
            }
        } // fin de propiedad Suscriptor

        // Propiedad del atributo categorias
        public List<Categoria> Categorias
        {
            get
            {
                return categorias;
            }
            set
            {
                categorias = value;
            }
        } //fin de la propiedad Categorias

    } // fin de clase perfil
}
